package com.ym.medical.service;

import com.ym.core.utils.tkmybatis.IBaseSV;
import com.ym.medical.domain.entity.SysCodeRuleEntity;
import com.ym.medical.domain.param.SysCodeRuleQueryParam;
import com.ym.medical.domain.param.SysCodeRuleUpdateParam;
import com.ym.medical.domain.vo.SysCodeRuleListPcVO;
import com.ym.medical.enums.CodeRuleEnum;

import java.util.List;

/**
 * 编码生产Service接口
 *
 * @author ym
 * @date 2020-08-17
 */
public interface ISysCodeRuleSV extends IBaseSV<SysCodeRuleEntity> {

	/**
	 * 查询编码生产列表
	 *
	 * @param queryParam 编码生产 查询对象
	 * @return 编码生产集合
	 */
	List<SysCodeRuleListPcVO> selectListPC(SysCodeRuleQueryParam queryParam);


	/**
	 * 新增编码生产
	 *
	 * @param updateParam 编码生产 新增对象
	 * @return 结果
	 */
	Long insertPC(SysCodeRuleUpdateParam updateParam);

	/**
	 * 修改编码生产
	 *
	 * @param updateParam 编码生产 修改参数
	 * @return 结果
	 */
	int updateByIdPC(SysCodeRuleUpdateParam updateParam);

	/**
	 * 构建编码
	 *
	 * @param ruleCode 规则编码
	 * @return 结果
	 */
	String createCode(CodeRuleEnum ruleCode);


	/**
	 * 根据订单号查询订单号规则
	 * @param outTradeNo
	 * @return
	 */
	String selectByIoNum(String outTradeNo);

}
